#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

// //FILE的封装
// int main()
// {
//     FILE* fp=fopen("log.txt","w");
//     if(!fp)
//     {
//         perror("fopen failed\n");
//         return -1;
//     }
//     const char*msg="hello fopen\n";
//     write(fp->_fileno,msg,strlen(msg));
//     printf("fp->_fileno:%d\n",fp->_fileno);
//     fclose(fp);
// }

int main()
{
    //close(1);
    int fd = open("log.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666);
    if (fd < 0)
    {
        perror("open");
        return 0;
    }
    printf("hello world: %d\n", fd);

    fd = open("log.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666);
    printf("hello world: %d\n", fd);
    close(fd);
    return 0;
}

//缓冲区
//借助>重定向观察

// int main()
// {
//     const char *msg0 = "hello printf\n";
//     const char *msg1 = "hello fwrite\n";
//     const char *msg2 = "hello write\n";

//     //库函数：输出到屏幕
//     printf("%s", msg0);
//     fwrite(msg1, strlen(msg0), 1, stdout);
//     //系统调用：输出到屏幕
//     write(1, msg2, strlen(msg2));

//     fork();
//     return 0;
// }



// int main()
// {
//     close(2);
//     int fd = open("log.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666);
//     if (fd < 0)
//     {
//         perror("open");
//         return 0;
//     }
//     //printf("hello world: %d\n", fd);
//     perror("hello world");
//     //fflush(stdout);
//     close(fd);
//     return 0;
// }